1. Field of the Invention
The invention relates generally to communication systems, and more particularly to detecting and characterizing signals in a communication system.
2. Discussion of Related Art
In today""s information age, the number of personal computers used a in homes, schools, and businesses continues to proliferate with apparently no end in sight. This increasing use of personal computers has prompted the migration of many applications onto the personal computer. For example, in addition to providing standard computational and networking functionality, the personal computers of today often include such functionality as a modem for exchanging data with other computers, a telephone (including speakerphone), a telephone answering system, a facsimile system, and teleconferencing/videoconferencing system. Thus, the personal computer can take the place of a multitude of otherwise separate devices, often saving cost, simplifying use, and providing additional features as compared to the separate devices.
Whether used as separate devices or together in the personal computer, these communications applications typically have a number of common elements. Specifically, a processor is used for controlling the device, memory is used for storing information, a signal processor is used for generating and processing the electrical signals needed for communication, and interface components are used for interfacing with the communication system and for providing additional signal processing capabilities. When these communication applications are included in the personal computer, it is often convenient to integrate two or more of the applications together so that the common elements do not have to be duplicated. This integration of applications further reduces the cost of providing such communication applications.
With the cost of personal computers falling and the competition among vendors growing, computer manufacturers and third-party vendors are looking for a cost-effective way of providing the many communication applications. One solution is to implement predominantly all of the application functions in software (with the remaining functions implemented in specialized hardware) and to run the software as a software application on the microprocessor in the personal computer. Implementing the often complex signal processing functions in software is feasible today due to the amount of processing resources provided by modern microprocessors. By eliminating most of the dedicated hardware components and utilizing the processing and memory resources of the personal computer, the communication applications can be provided relatively inexpensively.
One issue with such an integrated software implementation is that the communication application software must share the processing resources of the personal computer with other application software such as a word processor, spreadsheet program, or Internet browser. Thus, the software implementation consumes processing resources that otherwise would be available to the other application software. As a result, the performance of the other application software may be adversely affected when the communication applications are running. Thus, it is important to implement the communication applications such that they use as little processing resources as possible, and also to distribute the processing demand so that the communication application software does not control the processing resources for an excessive amount of time.
One type of signal processing function that is utilized in many of the communication applications is the detection of, and distinction between, voice, tone, and noise signals. Uses include voice-activated automatic gain control (AGC) for teleconferencing and videoconferencing; voice detection for the telephone answering system; double-talk detection in the speakerphone application; DTMF tone detection for accessing special services such as retrieving messages from the telephone answering system, accessing voice mailboxes, and for other keypad-controlled services; and detection of special modem and facsimile tones such as dial tone, answer-back tone, call progress tones, and busy tone. These signal processing functions have typically been implemented separately. When running concurrently, these signal processing functions consume a significant amount of processing resources. Therefore, a need remains for an apparatus and method for providing efficient voice, tone, and noise detection which reduces the amount of processing resources required and also distributes the processing demand.